package cn.hls.dao;

import java.util.List;
import java.util.Map;

import cn.hls.entity.CertSet;
import cn.hls.entity.Company;
import cn.hls.entity.vo.PageInfo;


/**
 *@fileName: CompanyDao.java
 *@package: cn.christ.dao
 *@Description:  企业基本信息数据接口类
 *@author: yinghui.zhang
 *@email: uuhui@163.com
 *@date: 2015-7-18
 */
public interface CompanyDao extends BaseDao<Company> {
	 
	/**
	 * 分页查询企业基本信息信息
	 * 
	 * @param entity  企业基本信息基本信息
	 * @param page 分页参数
	 * @return PageInfo<Org>
	 */
	PageInfo<Company> loadCompanyInfo(Company entity, PageInfo<Company> page) throws Exception;

	/**
	 * 根据查询条件查询企业列表信息
	 * @param entity 查询对象
	 * @return List<Company>
	 * @throws Exception
	 */
	List<Company> loadCompanyList(Company entity)throws Exception;
	/**
	 * 获取托运方的企业信息
	 * @param entity 企业查询对象
	 * @return
	 * @throws Exception
	 */
	List<Company> loadCompanyOfShipper(Company entity)throws Exception;
	/**
	 * 判断企业基本信息信息是否存在
	 * @param entity　企业基本信息对象
	 * @return boolean
	 * @throws Exception 查询数据异常
	 */
	boolean exists(Company entity) throws Exception;
	/**
	 * 汇总统计企业相关证件过期数
	 * @param companyId 企业编号
	 * @param cetSetMap 过期对象集合
	 * @return Map<String,Integer>
	 * @throws Exception
	 */

	Map<String,Integer>loadExpiredCompany(Long companyId,Map<String,CertSet>cetSetMap)throws Exception;
	
	/**
	 * 获取证书过期的企业信息
	 * @param entity 企业对象
	 * @param cetSetMap 到期提示集合
	 * @return List<Member>
	 * @throws Exception
	 */
	List<Company>  loadExpiredCompanyList(Company entity,Map<String,CertSet>cetSetMap)throws Exception;
}
